home *** CD-ROM | disk | FTP | other *** search
- AddLabl L_Init
- cmp.l #'APex',d1 ;Check for AMOS Pro
- bne.s .error
- move.l #O_SizeOf,d0 ;Get extension memory
- move.l #$10001,d1 ;Cleared memory
- move.l a6,d5 ;Save a6
- move.l 4.w,a6
- jsr _LVOAllocMem(a6)
- move.l d5,a6 ;Restore a6
- move.l d0,ExtAdr+ExtNb*16(a5) ;Move address to a
- beq.s .error ;available place
- move.l d0,a2
-
- lea ResetToDefault(pc),a0 ;Insert 'Default' routine
- move.l a0,ExtAdr+ExtNb*16+4(a5)
- lea ExtQuit(pc),a0 ;Insert termination
- move.l a0,ExtAdr+ExtNb*16+8(a5)
- lea BkCheck(pc),a0 ;Insert bank check
- move.l a0,ExtAdr+ExtNb*16+12(a5)
-
- moveq.l #0,d1
- Rbsr L_P61Func
- ; bsr ResetToDefault ;Default once.
- move.w #$0110,d1 ;AMOS Pro version needed
- moveq #ExtNb,d0 ;Extension number
- rts
- .error sub.l a0,a0 ;Error has occured.
- moveq.l #-1,d0
- rts
-
- ResetToDefault ;Default Routine.
- ; movem.l a3-a6/d6-d7,-(sp)
- Rbsr L_P61Stop ;e.g Protracker Stop
- ; movem.l (sp)+,a3-a6/d6-d7
- rts
-
- ExtQuit
- movem.l a3-a6/d6-d7,-(sp)
- bsr ResetToDefault ;Call the Default Routine
- dload a2
- move.l a6,d3
- move.l 4.w,a6
- move.l a2,a1 ;Free Extension memory.
- move.l #O_SizeOf,d0
- jsr _LVOFreeMem(a6)
- move.l d3,a6
- movem.l (sp)+,a3-a6/d6-d7
- rts
-
- BkCheck dload a2
- tst.w O_MusicEnabled(a2)
- beq.s .skip
- move.l O_MusicBank(a2),d0
- Rjsr L_Bnk.GetAdr
- beq.s .ptstop
- move.l O_MusicAddress(a2),d0
- cmp.l a0,d0
- beq.s .skip
- .ptstop movem.l a3-a6/d6-d7,-(sp)
- Rbsr L_P61Stop
- movem.l (sp)+,a3-a6/d6-d7
- .skip rts
-
- AddLabl ;Empty label.
-